package org.jeecg.modules.supplierEvaluation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.supplierEvaluation.Vo.SupplierEvaluationStatsVo;
import org.jeecg.modules.supplierEvaluation.Vo.SupplierEvaluationVo;
import org.jeecg.modules.supplierEvaluation.entity.SupplierEvaluation;

import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.List;

/**
 * 供应商评价 Service
 */
public interface ISupplierEvaluationService extends IService<SupplierEvaluation> {
    /**
     * 根据供应商ID查询历史评价记录
     */
    List<SupplierEvaluation> getHistoryBySupplierId(String supplierId);

    /**
     * 根据bidID查询供应商所有项目的最新评价
     */
    List<SupplierEvaluation> getLatestEvaluationByBidId(String bidId);

    /**
     * 根据bidID查询该项目所有评价
     */
    List<SupplierEvaluation> getAllEvaluationByBidId(String bidId);

    /**
     * 根据供应商ID计算平均分
     */
    BigDecimal calculateAverageScore(String supplierId);


    boolean add(SupplierEvaluation evaluation);

    /**
     * 根据供应商ID获取供应商所有中标项目的最新评价
     */
    List<SupplierEvaluation> getLatestEvaluationBySupplierId(String supplierId);

    LinkedHashMap<String, List<SupplierEvaluationVo>> getBySupplierIdGroupByPurchaseId(String supplierId);

    SupplierEvaluationStatsVo getSupplierEvaluationStats(String supplierId);
}
